package com.zimmur.app.mocolink.domain.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GoodsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GoodsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNull() {
            addCriterion("brand_id is null");
            return (Criteria) this;
        }

        public Criteria andBrandIdIsNotNull() {
            addCriterion("brand_id is not null");
            return (Criteria) this;
        }

        public Criteria andBrandIdEqualTo(Integer value) {
            addCriterion("brand_id =", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotEqualTo(Integer value) {
            addCriterion("brand_id <>", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThan(Integer value) {
            addCriterion("brand_id >", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("brand_id >=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThan(Integer value) {
            addCriterion("brand_id <", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdLessThanOrEqualTo(Integer value) {
            addCriterion("brand_id <=", value, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdIn(List<Integer> values) {
            addCriterion("brand_id in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotIn(List<Integer> values) {
            addCriterion("brand_id not in", values, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdBetween(Integer value1, Integer value2) {
            addCriterion("brand_id between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andBrandIdNotBetween(Integer value1, Integer value2) {
            addCriterion("brand_id not between", value1, value2, "brandId");
            return (Criteria) this;
        }

        public Criteria andTypeIdIsNull() {
            addCriterion("type_id is null");
            return (Criteria) this;
        }

        public Criteria andTypeIdIsNotNull() {
            addCriterion("type_id is not null");
            return (Criteria) this;
        }

        public Criteria andTypeIdEqualTo(Integer value) {
            addCriterion("type_id =", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdNotEqualTo(Integer value) {
            addCriterion("type_id <>", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdGreaterThan(Integer value) {
            addCriterion("type_id >", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("type_id >=", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdLessThan(Integer value) {
            addCriterion("type_id <", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdLessThanOrEqualTo(Integer value) {
            addCriterion("type_id <=", value, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdIn(List<Integer> values) {
            addCriterion("type_id in", values, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdNotIn(List<Integer> values) {
            addCriterion("type_id not in", values, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdBetween(Integer value1, Integer value2) {
            addCriterion("type_id between", value1, value2, "typeId");
            return (Criteria) this;
        }

        public Criteria andTypeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("type_id not between", value1, value2, "typeId");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andTagsIsNull() {
            addCriterion("tags is null");
            return (Criteria) this;
        }

        public Criteria andTagsIsNotNull() {
            addCriterion("tags is not null");
            return (Criteria) this;
        }

        public Criteria andTagsEqualTo(String value) {
            addCriterion("tags =", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsNotEqualTo(String value) {
            addCriterion("tags <>", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsGreaterThan(String value) {
            addCriterion("tags >", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsGreaterThanOrEqualTo(String value) {
            addCriterion("tags >=", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsLessThan(String value) {
            addCriterion("tags <", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsLessThanOrEqualTo(String value) {
            addCriterion("tags <=", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsLike(String value) {
            addCriterion("tags like", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsNotLike(String value) {
            addCriterion("tags not like", value, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsIn(List<String> values) {
            addCriterion("tags in", values, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsNotIn(List<String> values) {
            addCriterion("tags not in", values, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsBetween(String value1, String value2) {
            addCriterion("tags between", value1, value2, "tags");
            return (Criteria) this;
        }

        public Criteria andTagsNotBetween(String value1, String value2) {
            addCriterion("tags not between", value1, value2, "tags");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(BigDecimal value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(BigDecimal value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(BigDecimal value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(BigDecimal value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<BigDecimal> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<BigDecimal> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusIsNull() {
            addCriterion("goods_status is null");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusIsNotNull() {
            addCriterion("goods_status is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusEqualTo(String value) {
            addCriterion("goods_status =", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusNotEqualTo(String value) {
            addCriterion("goods_status <>", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusGreaterThan(String value) {
            addCriterion("goods_status >", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusGreaterThanOrEqualTo(String value) {
            addCriterion("goods_status >=", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusLessThan(String value) {
            addCriterion("goods_status <", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusLessThanOrEqualTo(String value) {
            addCriterion("goods_status <=", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusLike(String value) {
            addCriterion("goods_status like", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusNotLike(String value) {
            addCriterion("goods_status not like", value, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusIn(List<String> values) {
            addCriterion("goods_status in", values, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusNotIn(List<String> values) {
            addCriterion("goods_status not in", values, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusBetween(String value1, String value2) {
            addCriterion("goods_status between", value1, value2, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andGoodsStatusNotBetween(String value1, String value2) {
            addCriterion("goods_status not between", value1, value2, "goodsStatus");
            return (Criteria) this;
        }

        public Criteria andIsSpIsNull() {
            addCriterion("is_sp is null");
            return (Criteria) this;
        }

        public Criteria andIsSpIsNotNull() {
            addCriterion("is_sp is not null");
            return (Criteria) this;
        }

        public Criteria andIsSpEqualTo(Short value) {
            addCriterion("is_sp =", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpNotEqualTo(Short value) {
            addCriterion("is_sp <>", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpGreaterThan(Short value) {
            addCriterion("is_sp >", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpGreaterThanOrEqualTo(Short value) {
            addCriterion("is_sp >=", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpLessThan(Short value) {
            addCriterion("is_sp <", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpLessThanOrEqualTo(Short value) {
            addCriterion("is_sp <=", value, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpIn(List<Short> values) {
            addCriterion("is_sp in", values, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpNotIn(List<Short> values) {
            addCriterion("is_sp not in", values, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpBetween(Short value1, Short value2) {
            addCriterion("is_sp between", value1, value2, "isSp");
            return (Criteria) this;
        }

        public Criteria andIsSpNotBetween(Short value1, Short value2) {
            addCriterion("is_sp not between", value1, value2, "isSp");
            return (Criteria) this;
        }

        public Criteria andStyleCodeIsNull() {
            addCriterion("style_code is null");
            return (Criteria) this;
        }

        public Criteria andStyleCodeIsNotNull() {
            addCriterion("style_code is not null");
            return (Criteria) this;
        }

        public Criteria andStyleCodeEqualTo(String value) {
            addCriterion("style_code =", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeNotEqualTo(String value) {
            addCriterion("style_code <>", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeGreaterThan(String value) {
            addCriterion("style_code >", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeGreaterThanOrEqualTo(String value) {
            addCriterion("style_code >=", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeLessThan(String value) {
            addCriterion("style_code <", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeLessThanOrEqualTo(String value) {
            addCriterion("style_code <=", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeLike(String value) {
            addCriterion("style_code like", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeNotLike(String value) {
            addCriterion("style_code not like", value, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeIn(List<String> values) {
            addCriterion("style_code in", values, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeNotIn(List<String> values) {
            addCriterion("style_code not in", values, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeBetween(String value1, String value2) {
            addCriterion("style_code between", value1, value2, "styleCode");
            return (Criteria) this;
        }

        public Criteria andStyleCodeNotBetween(String value1, String value2) {
            addCriterion("style_code not between", value1, value2, "styleCode");
            return (Criteria) this;
        }

        public Criteria andInventoryNumIsNull() {
            addCriterion("inventory_num is null");
            return (Criteria) this;
        }

        public Criteria andInventoryNumIsNotNull() {
            addCriterion("inventory_num is not null");
            return (Criteria) this;
        }

        public Criteria andInventoryNumEqualTo(Integer value) {
            addCriterion("inventory_num =", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumNotEqualTo(Integer value) {
            addCriterion("inventory_num <>", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumGreaterThan(Integer value) {
            addCriterion("inventory_num >", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("inventory_num >=", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumLessThan(Integer value) {
            addCriterion("inventory_num <", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumLessThanOrEqualTo(Integer value) {
            addCriterion("inventory_num <=", value, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumIn(List<Integer> values) {
            addCriterion("inventory_num in", values, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumNotIn(List<Integer> values) {
            addCriterion("inventory_num not in", values, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumBetween(Integer value1, Integer value2) {
            addCriterion("inventory_num between", value1, value2, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andInventoryNumNotBetween(Integer value1, Integer value2) {
            addCriterion("inventory_num not between", value1, value2, "inventoryNum");
            return (Criteria) this;
        }

        public Criteria andSmallDescIsNull() {
            addCriterion("small_desc is null");
            return (Criteria) this;
        }

        public Criteria andSmallDescIsNotNull() {
            addCriterion("small_desc is not null");
            return (Criteria) this;
        }

        public Criteria andSmallDescEqualTo(String value) {
            addCriterion("small_desc =", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescNotEqualTo(String value) {
            addCriterion("small_desc <>", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescGreaterThan(String value) {
            addCriterion("small_desc >", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescGreaterThanOrEqualTo(String value) {
            addCriterion("small_desc >=", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescLessThan(String value) {
            addCriterion("small_desc <", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescLessThanOrEqualTo(String value) {
            addCriterion("small_desc <=", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescLike(String value) {
            addCriterion("small_desc like", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescNotLike(String value) {
            addCriterion("small_desc not like", value, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescIn(List<String> values) {
            addCriterion("small_desc in", values, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescNotIn(List<String> values) {
            addCriterion("small_desc not in", values, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescBetween(String value1, String value2) {
            addCriterion("small_desc between", value1, value2, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andSmallDescNotBetween(String value1, String value2) {
            addCriterion("small_desc not between", value1, value2, "smallDesc");
            return (Criteria) this;
        }

        public Criteria andMaterialIsNull() {
            addCriterion("material is null");
            return (Criteria) this;
        }

        public Criteria andMaterialIsNotNull() {
            addCriterion("material is not null");
            return (Criteria) this;
        }

        public Criteria andMaterialEqualTo(String value) {
            addCriterion("material =", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotEqualTo(String value) {
            addCriterion("material <>", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialGreaterThan(String value) {
            addCriterion("material >", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialGreaterThanOrEqualTo(String value) {
            addCriterion("material >=", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialLessThan(String value) {
            addCriterion("material <", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialLessThanOrEqualTo(String value) {
            addCriterion("material <=", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialLike(String value) {
            addCriterion("material like", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotLike(String value) {
            addCriterion("material not like", value, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialIn(List<String> values) {
            addCriterion("material in", values, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotIn(List<String> values) {
            addCriterion("material not in", values, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialBetween(String value1, String value2) {
            addCriterion("material between", value1, value2, "material");
            return (Criteria) this;
        }

        public Criteria andMaterialNotBetween(String value1, String value2) {
            addCriterion("material not between", value1, value2, "material");
            return (Criteria) this;
        }

        public Criteria andPubuserIsNull() {
            addCriterion("pubuser is null");
            return (Criteria) this;
        }

        public Criteria andPubuserIsNotNull() {
            addCriterion("pubuser is not null");
            return (Criteria) this;
        }

        public Criteria andPubuserEqualTo(String value) {
            addCriterion("pubuser =", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserNotEqualTo(String value) {
            addCriterion("pubuser <>", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserGreaterThan(String value) {
            addCriterion("pubuser >", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserGreaterThanOrEqualTo(String value) {
            addCriterion("pubuser >=", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserLessThan(String value) {
            addCriterion("pubuser <", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserLessThanOrEqualTo(String value) {
            addCriterion("pubuser <=", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserLike(String value) {
            addCriterion("pubuser like", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserNotLike(String value) {
            addCriterion("pubuser not like", value, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserIn(List<String> values) {
            addCriterion("pubuser in", values, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserNotIn(List<String> values) {
            addCriterion("pubuser not in", values, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserBetween(String value1, String value2) {
            addCriterion("pubuser between", value1, value2, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubuserNotBetween(String value1, String value2) {
            addCriterion("pubuser not between", value1, value2, "pubuser");
            return (Criteria) this;
        }

        public Criteria andPubdateIsNull() {
            addCriterion("pubdate is null");
            return (Criteria) this;
        }

        public Criteria andPubdateIsNotNull() {
            addCriterion("pubdate is not null");
            return (Criteria) this;
        }

        public Criteria andPubdateEqualTo(Date value) {
            addCriterion("pubdate =", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateNotEqualTo(Date value) {
            addCriterion("pubdate <>", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateGreaterThan(Date value) {
            addCriterion("pubdate >", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateGreaterThanOrEqualTo(Date value) {
            addCriterion("pubdate >=", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateLessThan(Date value) {
            addCriterion("pubdate <", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateLessThanOrEqualTo(Date value) {
            addCriterion("pubdate <=", value, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateIn(List<Date> values) {
            addCriterion("pubdate in", values, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateNotIn(List<Date> values) {
            addCriterion("pubdate not in", values, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateBetween(Date value1, Date value2) {
            addCriterion("pubdate between", value1, value2, "pubdate");
            return (Criteria) this;
        }

        public Criteria andPubdateNotBetween(Date value1, Date value2) {
            addCriterion("pubdate not between", value1, value2, "pubdate");
            return (Criteria) this;
        }

        public Criteria andCoverImageIsNull() {
            addCriterion("cover_image is null");
            return (Criteria) this;
        }

        public Criteria andCoverImageIsNotNull() {
            addCriterion("cover_image is not null");
            return (Criteria) this;
        }

        public Criteria andCoverImageEqualTo(String value) {
            addCriterion("cover_image =", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageNotEqualTo(String value) {
            addCriterion("cover_image <>", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageGreaterThan(String value) {
            addCriterion("cover_image >", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageGreaterThanOrEqualTo(String value) {
            addCriterion("cover_image >=", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageLessThan(String value) {
            addCriterion("cover_image <", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageLessThanOrEqualTo(String value) {
            addCriterion("cover_image <=", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageLike(String value) {
            addCriterion("cover_image like", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageNotLike(String value) {
            addCriterion("cover_image not like", value, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageIn(List<String> values) {
            addCriterion("cover_image in", values, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageNotIn(List<String> values) {
            addCriterion("cover_image not in", values, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageBetween(String value1, String value2) {
            addCriterion("cover_image between", value1, value2, "coverImage");
            return (Criteria) this;
        }

        public Criteria andCoverImageNotBetween(String value1, String value2) {
            addCriterion("cover_image not between", value1, value2, "coverImage");
            return (Criteria) this;
        }

        public Criteria andEatablishUserIsNull() {
            addCriterion("eatablish_user is null");
            return (Criteria) this;
        }

        public Criteria andEatablishUserIsNotNull() {
            addCriterion("eatablish_user is not null");
            return (Criteria) this;
        }

        public Criteria andEatablishUserEqualTo(String value) {
            addCriterion("eatablish_user =", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserNotEqualTo(String value) {
            addCriterion("eatablish_user <>", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserGreaterThan(String value) {
            addCriterion("eatablish_user >", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserGreaterThanOrEqualTo(String value) {
            addCriterion("eatablish_user >=", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserLessThan(String value) {
            addCriterion("eatablish_user <", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserLessThanOrEqualTo(String value) {
            addCriterion("eatablish_user <=", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserLike(String value) {
            addCriterion("eatablish_user like", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserNotLike(String value) {
            addCriterion("eatablish_user not like", value, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserIn(List<String> values) {
            addCriterion("eatablish_user in", values, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserNotIn(List<String> values) {
            addCriterion("eatablish_user not in", values, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserBetween(String value1, String value2) {
            addCriterion("eatablish_user between", value1, value2, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishUserNotBetween(String value1, String value2) {
            addCriterion("eatablish_user not between", value1, value2, "eatablishUser");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeIsNull() {
            addCriterion("eatablish_time is null");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeIsNotNull() {
            addCriterion("eatablish_time is not null");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeEqualTo(Date value) {
            addCriterion("eatablish_time =", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeNotEqualTo(Date value) {
            addCriterion("eatablish_time <>", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeGreaterThan(Date value) {
            addCriterion("eatablish_time >", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("eatablish_time >=", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeLessThan(Date value) {
            addCriterion("eatablish_time <", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeLessThanOrEqualTo(Date value) {
            addCriterion("eatablish_time <=", value, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeIn(List<Date> values) {
            addCriterion("eatablish_time in", values, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeNotIn(List<Date> values) {
            addCriterion("eatablish_time not in", values, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeBetween(Date value1, Date value2) {
            addCriterion("eatablish_time between", value1, value2, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andEatablishTimeNotBetween(Date value1, Date value2) {
            addCriterion("eatablish_time not between", value1, value2, "eatablishTime");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIsNull() {
            addCriterion("is_enabled is null");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIsNotNull() {
            addCriterion("is_enabled is not null");
            return (Criteria) this;
        }

        public Criteria andIsEnabledEqualTo(Integer value) {
            addCriterion("is_enabled =", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotEqualTo(Integer value) {
            addCriterion("is_enabled <>", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledGreaterThan(Integer value) {
            addCriterion("is_enabled >", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_enabled >=", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLessThan(Integer value) {
            addCriterion("is_enabled <", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledLessThanOrEqualTo(Integer value) {
            addCriterion("is_enabled <=", value, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledIn(List<Integer> values) {
            addCriterion("is_enabled in", values, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotIn(List<Integer> values) {
            addCriterion("is_enabled not in", values, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledBetween(Integer value1, Integer value2) {
            addCriterion("is_enabled between", value1, value2, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andIsEnabledNotBetween(Integer value1, Integer value2) {
            addCriterion("is_enabled not between", value1, value2, "isEnabled");
            return (Criteria) this;
        }

        public Criteria andSaleNumIsNull() {
            addCriterion("sale_num is null");
            return (Criteria) this;
        }

        public Criteria andSaleNumIsNotNull() {
            addCriterion("sale_num is not null");
            return (Criteria) this;
        }

        public Criteria andSaleNumEqualTo(Integer value) {
            addCriterion("sale_num =", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumNotEqualTo(Integer value) {
            addCriterion("sale_num <>", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumGreaterThan(Integer value) {
            addCriterion("sale_num >", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("sale_num >=", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumLessThan(Integer value) {
            addCriterion("sale_num <", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumLessThanOrEqualTo(Integer value) {
            addCriterion("sale_num <=", value, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumIn(List<Integer> values) {
            addCriterion("sale_num in", values, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumNotIn(List<Integer> values) {
            addCriterion("sale_num not in", values, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumBetween(Integer value1, Integer value2) {
            addCriterion("sale_num between", value1, value2, "saleNum");
            return (Criteria) this;
        }

        public Criteria andSaleNumNotBetween(Integer value1, Integer value2) {
            addCriterion("sale_num not between", value1, value2, "saleNum");
            return (Criteria) this;
        }

        public Criteria andShareNumIsNull() {
            addCriterion("share_num is null");
            return (Criteria) this;
        }

        public Criteria andShareNumIsNotNull() {
            addCriterion("share_num is not null");
            return (Criteria) this;
        }

        public Criteria andShareNumEqualTo(Integer value) {
            addCriterion("share_num =", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumNotEqualTo(Integer value) {
            addCriterion("share_num <>", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumGreaterThan(Integer value) {
            addCriterion("share_num >", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("share_num >=", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumLessThan(Integer value) {
            addCriterion("share_num <", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumLessThanOrEqualTo(Integer value) {
            addCriterion("share_num <=", value, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumIn(List<Integer> values) {
            addCriterion("share_num in", values, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumNotIn(List<Integer> values) {
            addCriterion("share_num not in", values, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumBetween(Integer value1, Integer value2) {
            addCriterion("share_num between", value1, value2, "shareNum");
            return (Criteria) this;
        }

        public Criteria andShareNumNotBetween(Integer value1, Integer value2) {
            addCriterion("share_num not between", value1, value2, "shareNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumIsNull() {
            addCriterion("brower_num is null");
            return (Criteria) this;
        }

        public Criteria andBrowerNumIsNotNull() {
            addCriterion("brower_num is not null");
            return (Criteria) this;
        }

        public Criteria andBrowerNumEqualTo(Integer value) {
            addCriterion("brower_num =", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumNotEqualTo(Integer value) {
            addCriterion("brower_num <>", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumGreaterThan(Integer value) {
            addCriterion("brower_num >", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("brower_num >=", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumLessThan(Integer value) {
            addCriterion("brower_num <", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumLessThanOrEqualTo(Integer value) {
            addCriterion("brower_num <=", value, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumIn(List<Integer> values) {
            addCriterion("brower_num in", values, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumNotIn(List<Integer> values) {
            addCriterion("brower_num not in", values, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumBetween(Integer value1, Integer value2) {
            addCriterion("brower_num between", value1, value2, "browerNum");
            return (Criteria) this;
        }

        public Criteria andBrowerNumNotBetween(Integer value1, Integer value2) {
            addCriterion("brower_num not between", value1, value2, "browerNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumIsNull() {
            addCriterion("collection_num is null");
            return (Criteria) this;
        }

        public Criteria andCollectionNumIsNotNull() {
            addCriterion("collection_num is not null");
            return (Criteria) this;
        }

        public Criteria andCollectionNumEqualTo(Integer value) {
            addCriterion("collection_num =", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumNotEqualTo(Integer value) {
            addCriterion("collection_num <>", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumGreaterThan(Integer value) {
            addCriterion("collection_num >", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("collection_num >=", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumLessThan(Integer value) {
            addCriterion("collection_num <", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumLessThanOrEqualTo(Integer value) {
            addCriterion("collection_num <=", value, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumIn(List<Integer> values) {
            addCriterion("collection_num in", values, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumNotIn(List<Integer> values) {
            addCriterion("collection_num not in", values, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumBetween(Integer value1, Integer value2) {
            addCriterion("collection_num between", value1, value2, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andCollectionNumNotBetween(Integer value1, Integer value2) {
            addCriterion("collection_num not between", value1, value2, "collectionNum");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityIsNull() {
            addCriterion("minimum_quantity is null");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityIsNotNull() {
            addCriterion("minimum_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityEqualTo(Integer value) {
            addCriterion("minimum_quantity =", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityNotEqualTo(Integer value) {
            addCriterion("minimum_quantity <>", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityGreaterThan(Integer value) {
            addCriterion("minimum_quantity >", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityGreaterThanOrEqualTo(Integer value) {
            addCriterion("minimum_quantity >=", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityLessThan(Integer value) {
            addCriterion("minimum_quantity <", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityLessThanOrEqualTo(Integer value) {
            addCriterion("minimum_quantity <=", value, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityIn(List<Integer> values) {
            addCriterion("minimum_quantity in", values, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityNotIn(List<Integer> values) {
            addCriterion("minimum_quantity not in", values, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityBetween(Integer value1, Integer value2) {
            addCriterion("minimum_quantity between", value1, value2, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andMinimumQuantityNotBetween(Integer value1, Integer value2) {
            addCriterion("minimum_quantity not between", value1, value2, "minimumQuantity");
            return (Criteria) this;
        }

        public Criteria andQuarterIsNull() {
            addCriterion("quarter is null");
            return (Criteria) this;
        }

        public Criteria andQuarterIsNotNull() {
            addCriterion("quarter is not null");
            return (Criteria) this;
        }

        public Criteria andQuarterEqualTo(Integer value) {
            addCriterion("quarter =", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotEqualTo(Integer value) {
            addCriterion("quarter <>", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterGreaterThan(Integer value) {
            addCriterion("quarter >", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterGreaterThanOrEqualTo(Integer value) {
            addCriterion("quarter >=", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterLessThan(Integer value) {
            addCriterion("quarter <", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterLessThanOrEqualTo(Integer value) {
            addCriterion("quarter <=", value, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterIn(List<Integer> values) {
            addCriterion("quarter in", values, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotIn(List<Integer> values) {
            addCriterion("quarter not in", values, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterBetween(Integer value1, Integer value2) {
            addCriterion("quarter between", value1, value2, "quarter");
            return (Criteria) this;
        }

        public Criteria andQuarterNotBetween(Integer value1, Integer value2) {
            addCriterion("quarter not between", value1, value2, "quarter");
            return (Criteria) this;
        }

        public Criteria andPushIdIsNull() {
            addCriterion("push_id is null");
            return (Criteria) this;
        }

        public Criteria andPushIdIsNotNull() {
            addCriterion("push_id is not null");
            return (Criteria) this;
        }

        public Criteria andPushIdEqualTo(Integer value) {
            addCriterion("push_id =", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdNotEqualTo(Integer value) {
            addCriterion("push_id <>", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdGreaterThan(Integer value) {
            addCriterion("push_id >", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("push_id >=", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdLessThan(Integer value) {
            addCriterion("push_id <", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdLessThanOrEqualTo(Integer value) {
            addCriterion("push_id <=", value, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdIn(List<Integer> values) {
            addCriterion("push_id in", values, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdNotIn(List<Integer> values) {
            addCriterion("push_id not in", values, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdBetween(Integer value1, Integer value2) {
            addCriterion("push_id between", value1, value2, "pushId");
            return (Criteria) this;
        }

        public Criteria andPushIdNotBetween(Integer value1, Integer value2) {
            addCriterion("push_id not between", value1, value2, "pushId");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceIsNull() {
            addCriterion("current_price is null");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceIsNotNull() {
            addCriterion("current_price is not null");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceEqualTo(String value) {
            addCriterion("current_price =", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceNotEqualTo(String value) {
            addCriterion("current_price <>", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceGreaterThan(String value) {
            addCriterion("current_price >", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceGreaterThanOrEqualTo(String value) {
            addCriterion("current_price >=", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceLessThan(String value) {
            addCriterion("current_price <", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceLessThanOrEqualTo(String value) {
            addCriterion("current_price <=", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceLike(String value) {
            addCriterion("current_price like", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceNotLike(String value) {
            addCriterion("current_price not like", value, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceIn(List<String> values) {
            addCriterion("current_price in", values, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceNotIn(List<String> values) {
            addCriterion("current_price not in", values, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceBetween(String value1, String value2) {
            addCriterion("current_price between", value1, value2, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andCurrentPriceNotBetween(String value1, String value2) {
            addCriterion("current_price not between", value1, value2, "currentPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceIsNull() {
            addCriterion("distr_supply_price is null");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceIsNotNull() {
            addCriterion("distr_supply_price is not null");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceEqualTo(String value) {
            addCriterion("distr_supply_price =", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceNotEqualTo(String value) {
            addCriterion("distr_supply_price <>", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceGreaterThan(String value) {
            addCriterion("distr_supply_price >", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceGreaterThanOrEqualTo(String value) {
            addCriterion("distr_supply_price >=", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceLessThan(String value) {
            addCriterion("distr_supply_price <", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceLessThanOrEqualTo(String value) {
            addCriterion("distr_supply_price <=", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceLike(String value) {
            addCriterion("distr_supply_price like", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceNotLike(String value) {
            addCriterion("distr_supply_price not like", value, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceIn(List<String> values) {
            addCriterion("distr_supply_price in", values, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceNotIn(List<String> values) {
            addCriterion("distr_supply_price not in", values, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceBetween(String value1, String value2) {
            addCriterion("distr_supply_price between", value1, value2, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andDistrSupplyPriceNotBetween(String value1, String value2) {
            addCriterion("distr_supply_price not between", value1, value2, "distrSupplyPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceIsNull() {
            addCriterion("cost_price is null");
            return (Criteria) this;
        }

        public Criteria andCostPriceIsNotNull() {
            addCriterion("cost_price is not null");
            return (Criteria) this;
        }

        public Criteria andCostPriceEqualTo(String value) {
            addCriterion("cost_price =", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotEqualTo(String value) {
            addCriterion("cost_price <>", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceGreaterThan(String value) {
            addCriterion("cost_price >", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceGreaterThanOrEqualTo(String value) {
            addCriterion("cost_price >=", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceLessThan(String value) {
            addCriterion("cost_price <", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceLessThanOrEqualTo(String value) {
            addCriterion("cost_price <=", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceLike(String value) {
            addCriterion("cost_price like", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotLike(String value) {
            addCriterion("cost_price not like", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceIn(List<String> values) {
            addCriterion("cost_price in", values, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotIn(List<String> values) {
            addCriterion("cost_price not in", values, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceBetween(String value1, String value2) {
            addCriterion("cost_price between", value1, value2, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotBetween(String value1, String value2) {
            addCriterion("cost_price not between", value1, value2, "costPrice");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}